#ifndef ANIMATIONSTACKEDWIDGET_H
#define ANIMATIONSTACKEDWIDGET_H

#include <QStackedWidget>
#include<QPropertyAnimation>
#include<QPainter>
#include<QTransform>
class animationStackedWidget : public QStackedWidget
{   //Qt提供的属性系统，独立于编辑器和平台的库
    //Qt属性是基于元数据对象系统 信号和槽
    //需要用MOC进行编译，需要基础object类，因此在需要重新构建才能调用这个宏
     Q_OBJECT  // 这个必须要有,
     Q_PROPERTY(float rotateVal READ rotateVal WRITE setRotateVal)
public:
    animationStackedWidget(QWidget *parent=0);
    ~animationStackedWidget();
    void animation(int pageIndex);

    float rotateVal()
    {
        return iRotateVal;
    }
    void setRotateVal(float val)
    {
        iRotateVal=val;
    }
    float StartVal()
    {
        return m_startVal;
    }
    void setStartVal(float val)
    {
        m_startVal=val;
    }
    float EndVal()
    {
        return m_endVal;
    }
    void setEndVal(float val)
    {
        m_endVal=val;
    }

private:
    float iRotateVal;//旋转值
    int m_startVal;
    int m_endVal;
    int m_nextPageIndex;//下一页
private slots:
    void OnValuechanged(const QVariant &value);
    void OnFinished();
protected:
    void paintEvent(QPaintEvent *ev);

};

#endif // ANIMATIONSTACKEDWIDGET_H
